Process control systems are widely used in factories and/or plants in which products are manufactured or processes are controlled (e.g., chemical manufacturing, power plant control, etc.) Process control systems are also used in the harvesting of natural resources such as, for example, oil and gas drilling and handling processes, etc. Virtually any manufacturing process, resource harvesting process, including agriculture, can be automated through the application of one or more process control systems.
“Distributed” process control systems, like those used in chemical, petroleum or other processes, typically include one or more process controllers communicatively coupled to one or more field devices via analog, digital or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure, level and flow rate sensors), are located within the process environment and perform process functions such as opening or closing valves, measuring process parameters, etc. Smart field devices, such as the field devices conforming to the well-known Fieldbus protocols, such as the FOUNDATION™ Fieldbus protocol, may also perform control calculations, alarming functions, and other control functions commonly implemented within the controller.
The process controllers receive signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices and execute a controller application that runs, for example, different control modules which make process control decisions, generate control signals based on the received information and coordinate with the control modules or blocks being executed in the field devices, such as HART and Fieldbus field devices. The control modules in the controller send the control signals over the communication lines to the field devices to thereby control the operation of the process.
Information from the field devices and the controller is usually made available over a data highway to one or more other hardware devices, such as operator workstations, personal computers, data historians, report generators, centralized databases, etc., typically placed in control rooms or other locations away from the harsher plant environment. These hardware devices run applications that may, for example, enable an operator to perform functions with respect to the process, such as changing settings of the process control routine, modifying the operation of the control modules within the controller or the field devices, viewing the current state of the process, viewing alarms generated by field devices and controllers, simulating the operation of the process for the purpose of training personnel or testing the process control software, keeping and updating a configuration database, etc.
As an example, the DeltaV™ control system, sold by Emerson Process Management includes multiple applications stored within and executed by different devices located at diverse places within a process plant. A configuration application, which resides in one or more operator workstations, enables users to create or change process control modules and download these process control modules via a data highway to dedicated distributed controllers.
Typically, these control modules are made up of communicatively interconnected function blocks, which are objects in an object oriented programming protocol that perform functions within the control scheme based on inputs thereto and provide outputs to other function blocks within the control scheme. The configuration application may also allow a designer to create or change operator interfaces which are used by a viewing application to display data to an operator and to enable the operator to change settings, such as set points, within the process control routine. Each dedicated controller and, in some cases, field devices, stores and executes a controller application that runs the control modules assigned and downloaded thereto to implement actual process control functionality.
The viewing applications, which may be run on one or more operator workstations, receive data from the controller application via the data highway and display this data to process control system designers, operators, or users using the user interfaces, and may provide any of a number of different views, such as an operator's view, an engineer's view, a technician's view, etc. A data historian application is typically stored in and executed by a data historian device that collects and stores some or all of the data provided across the data highway while a configuration database application may run in a still further computer attached to the data highway to store the current process control routine configuration and data associated therewith. Alternatively, the configuration database may be located in the same workstation as the configuration application.
As the number and type of control and support applications used in a process control environment have increased, different graphical display applications have been provided to enable users to effectively configure and use these applications. For example, graphical display applications have been used to support control configuration applications to enable a configuration engineer to graphically create control programs to be downloaded to the control devices within a process plant.
Additionally, graphical display applications have been used to enable control operators to view the current functioning of the process plant, or areas of the process plant, to enable maintenance personnel to view the state of hardware devices within the process plant, to enable simulation of the process plant, etc. However, these graphical display applications have, in the past, been created as part of or to support the specific applications with which they are associated, and thus are generally limited in usefulness to the specific process function for which they were created. For example, it is difficult, if not impossible, to use a currently available graphical program created to support a control operator in a maintenance, a configuration or a simulation function. Conversely, it is difficult, if not impossible to use currently available graphics programs designed for a maintenance technician to support a control operator, a configuration engineer or in a simulation function. In summary, currently available graphics programs are specialized and not versatile.
As a particular example, some process control configuration applications presently include a library of template objects, such as function block template objects and, in some cases, control module template objects, which are used to create a control strategy for a process plant. The template objects have default properties, settings and methods associated therewith and the engineer using a graphical configuration application can select these template objects and essentially place copies of the selected template objects into a configuration screen to develop a control module.
During the process of selecting and placing the template objects into the configuration screen, the engineer interconnects the inputs and outputs of these objects and changes their parameters, names, tags and other properties to create a specific control module for a specific use in the process plant. After creating one or more such control modules, the engineer can then instantiate the control module and download it to the appropriate controller or controllers and field devices for execution during operation of the process plant.
Thereafter, the engineer may use a different graphical display creation application to create one or more displays for operators, maintenance personnel, etc. within the process plant by selecting and building display objects in the display creation application. These displays are typically implemented on a system wide basis in one or more of the workstations and provide preconfigured displays to the operator or maintenance persons regarding the operating state of the control system or the devices within the plant. These displays generally take the form of alarming displays that receive and display alarms generated by controllers or devices within the process plant, control displays indicating the operating state of the controllers and other devices within the process plant, maintenance displays indicating the functioning state of the devices within the process plant, etc.
However, these displays are generally preconfigured to display, information or data received from the process control modules or the devices within the process plant. In some known systems, displays are created through the use of objects that have a graphic associated with a physical or logical element and that is communicatively tied to the physical or logical element to receive data about the physical or logical element. The object may change the graphic on the display screen based on the received data to illustrate, for example, that a tank is half full, to illustrate the flow measured by a flow sensor, etc. However, the graphical displays used for configuration, operator control, maintenance and simulation activities now need to be created separately from one another using different graphical editors as the separate graphical editors are not translatable between the needs of operators, maintenance personnel, configuration personnel, simulator personnel and management.
Thus, similar to the control configuration application, the display creation application may have template graphical display items, such as tanks, valves, sensors, operator control buttons like slide bars, on/off switches, etc. which may be placed on a screen in any desired configuration to create an operator display, maintenance display and the like. When placed onto the screen, individual graphic items may be interconnected on the screen in a manner that provides some information or display of the inner-workings of the process plant to users. However, to animate the graphic display, the display creator must manually tie each of the graphical items to data generated within the process plant, such as data measured by sensors or indicative of valve positions, etc. by specifying a communication link between the graphic item and the relevant data source within the process plant. This process is tedious, time consuming, may be fraught with error and must be carried out separately for process control, maintenance simulator, configuration and supervisory personnel.
While the control template objects within the control configuration application and the display items within the display creation application are convenient because they can be copied and used to create many different control modules and graphical displays, there is often a need to create numerous of the same control module and graphical display for different equipment within the process plant. For example, many medium to large sized process plants have numerous instances of the same or similar equipment that can be controlled and viewed using the same basic general control module and display.
To create these numerous control modules and displays, however, a general control module or display module is created and this general control or display module is then copied for each of the different pieces of equipment for which it is applicable. Of course, after being copied, each of the new control or display modules must be manually altered in the configuration application to specify the particular equipment to which it is attached and all of these control and display modules must then be instantiated and downloaded to the process control system.
Unfortunately, the control modules and displays items discussed above are not modular in any manner. Thus, after being copied, each of the control modules and displays must be manually and individually altered using the appropriate configuration application to specify the equipment within the plant to which they are to be associated. In a plant having many copies of the same type of equipment (i.e., replicated equipment), this process is tedious, time consuming and fraught with operator introduced errors. Still further, once programmed, these different control modules and displays are not aware of each other.
Therefore, to make a change to the control modules once created, the engineer or operator must manually make the same change to each of the different control modules for the different replicated equipment which, again, is time consuming and tedious. The same problem applies for the graphical views created for the different sets of replicated equipment within the plant. In other words, once a specific control module or a specific graphical view is created (individually or by being copied from a template object) and is then tied to a particular set of equipment within the plant, this control module or graphical view exists as a separate entity or object within the system without any automatic awareness of the other control modules or graphical displays that are the same or similar to it.
As a result, changes applicable to every one of the control modules and graphical displays of a particular type must be made individually on those modules and displays. This problem is even more evident when graphical views are created for the same equipment but in different functional contexts within the plant, such as for control viewing, maintenance viewing and simulation functions. In this case, the graphical views are created separately without any knowledge or awareness of one another.
Thus, while graphic displays have been provided in and associated with different applications used for different general activities performed within a process plant, these graphic displays and associated graphic display editors were generally added on at the functional level of the application for which they were created to support. As a result, the graphical editors, to the extent they currently exist, have only enabled the user to create graphics that support specific functionality need by a specific application. Previous process plants did not provide a graphical display editor that could be used by or that could support the graphical needs of various or multiple activities being performed in the context of plant configuration and support. Thus, for example, a graphical display editor used to support or enable control configuration activities only enabled the user to create control programs and did not support the needs or functionality of operator or maintenance displays. Similarly, graphic display editors used for creating operator views, maintenance views, etc. to be provided to a control operator or maintenance technician during operation of a plant, did not support functionality associated with configuration activities, simulation activities, etc.
As a result of the graphic display needs being supported at the individual functional levels of the process plant, such as at the control configuration, maintenance support, control operator support and simulation support functional levels, different displays created by these various editors end up modeling and depicting the same components within the plant, which results in the duplication of graphical display efforts by various different personnel with the process plant. This duplication of effort is manifested not only in the effort needed to create the different graphical displays depicting the same process element for different uses, but also in the effort needed to tie the graphical elements used in different display applications to the actual hardware or software elements within the process plant to which they are associated.
Because graphical support for various process plant activities has been provided after the fact, and as part of the actual activity being performed, graphical support is not integrated in the plant environment in a manner that enables common graphics to be created and used within the plant at the various different functional levels of the plant. This non-integration of graphics leads to the graphics actually created for the different functions being different from function to function or from application to application, which can lead to confusion on the part of users who, while familiar with one specific type of graphical display, might occasionally need to view different displays associated with different operations or functions within the plant.
For example, graphical support for operations, maintenance and supervisory functions related to operations and maintenance are typically all different, not integrated, involve different techniques and require training. On the other hand, the provision of graphical display support at the various different functional levels of the plant (e.g. operations, maintenance, management, installation and set-up, etc.) leads to the duplication of various graphic support elements, both in creating displays and properly connecting the elements within the displays to actual hardware or software elements within the plant.
As a result, there is a need for common graphics user interface for process control systems where the various functional levels that support a process or plants, e.g. operations, maintenance, supervisory, etc. are integrated into a single interface platform to eliminate duplication involved in employing non-integrated programs and to better assist all process control personnel in becoming familiar with the interfaces used by their coworkers. Such a common or universal graphics interface should be easily modified and manipulated by the end users while making some displays, such as alarms or other imperative displays, non-occludable.